import re
content="""
苹果，是红色
橘子，是绿色色色色
绿子，是绿色
橙子，是橙色
黑桃，是黑色
红桃，是蓝
红桃，是

"""
source='<html><head><title>Title</title>'
q=re.compile(r'.色')
for one in q.findall(content):
    print(one)
q2=re.compile(r'，.')
for one in q2.findall(content):
    print(one)
q3=re.compile(r'绿色*')#统计以绿开头色出现的次数 若色一次也没出现算作0次
for one in q3.findall(content):
    print(one)
q4=re.compile(r'.*')#每一行的字符
for one in q4.findall(content):
    print(one)
q5 = re.compile(r'，是.+')  # ，+是+任意字符(至少出现一次）
for one in q5.findall(content):
    print(one)
q6=re.compile(r'<.+?>')#非贪婪模式
for one in q6.findall(source):
    print(one)
content2="""
张飞.1234685643213
王伟.1354623145613
李静.1945621123645
"""
q7=re.compile(r'.*\.1[23]\d{11}')
q8=re.compile(r'[^\d\n\W].')
print(q7.findall(content2))
print(q8.findall(content2))

content3="""001,苹果价格-60
002,橙子价格-70
003,香蕉价格-80
"""
q9=re.compile(r'^\d+',re.MULTILINE)#参数表示从每行开始，不是全局模式
q10=re.compile(r'\d+$',re.M)#末位
q15=re.compile(r'-(\d*)')
print(q15.findall(content3))
print(q9.findall(content3))
print(q10.findall(content3))
q11=re.compile(r'(.*),',re.M)
q12=re.compile(r',(\w*)-(\d+$)',re.M)
print(q11.findall(content3))
print(q12.findall(content3))

content4="""关羽,张飞; 马超. 猴子"""
q13=re.split(r'[,;.\s]\s*',content4)#正则表达式切割文本 用split
print(q13)

def subFunc(match):#回调函数
    src=match.group(0)
    print(src)#捕获到的所有目标
    number=match.group(1)#第一个匹配类型
    dst=int(number)+6
    return str(dst)#需要返回一个str对象才能替换前面的文本
q14=re.sub(r'-(\d*)',subFunc,content3)#subfunc为回调函数
print(q14)